package com.vcoud.mundialbrasil2014.adapter;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.vcoud.mbrasil2014.R;
import com.vcoud.mundialbrasil2014.CargardorImagen;

public class DetallePartidoAdapter extends BaseAdapter {

	private Activity activity;
	private ArrayList<HashMap<String, String>> data;
	private static LayoutInflater inflater = null;
	public CargardorImagen imageLoader;

	static final String KEY_GOL_IDGOL = "IDGol";
	static final String KEY_GOL_FK_JUGADOR = "FK_Jugador";
	static final String KEY_GOL_FK_PARTIDO = "FK_Partido";
	static final String KEY_GOL_MINUTO = "Minuto";
	static final String KEY_GOL_AUTOGOL = "AutoGol";
	static final String KEY_GOL_RUTAVIDEO = "RutaVideo";
	static final String KEY_GOL_FK_EQUIPO = "FK_Equipo";

	static final String KEY_JUGADOR_NOMBRE = "Nombre";

	static final String AWAY_TEAM = "Away_Team";

	public DetallePartidoAdapter(Activity a,
			ArrayList<HashMap<String, String>> d) {
		activity = a;
		data = d;
		inflater = (LayoutInflater) activity
				.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		imageLoader = new CargardorImagen(activity.getApplicationContext());
	}

	@Override
	public int getCount() {
		return data.size();
	}

	@Override
	public HashMap<String, String> getItem(int position) {
		// Se otorga la posicion de un equipo
		HashMap<String, String> equipo = new HashMap<String, String>();
		equipo = data.get(position);
		return equipo;
	}

	@Override
	public long getItemId(int position) {
		// Funcion que permite pasar la id del equipo
		HashMap<String, String> equipo = new HashMap<String, String>();
		equipo = data.get(position);
		long id = Long.parseLong(equipo.get(KEY_GOL_IDGOL));
		return id;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		View vi = convertView;
		if (convertView == null)
			vi = inflater.inflate(R.layout.list_detalle_partido, null);
		HashMap<String, String> detalle = new HashMap<String, String>();
		detalle = data.get(position);

		LinearLayout llLocal = (LinearLayout) vi.findViewById(R.id.llLocal);
		LinearLayout llVisitante = (LinearLayout) vi
				.findViewById(R.id.llVisitante);

		TextView tvMinuto;
		TextView tvJugador;
		TextView tvAutogol;

		int awayTeam = Integer.valueOf(detalle.get(AWAY_TEAM));

		if (awayTeam < 1) {
			llVisitante.setVisibility(View.INVISIBLE);
			llLocal.setVisibility(View.VISIBLE);
			tvMinuto = (TextView) vi.findViewById(R.id.minuto_local);
			tvJugador = (TextView) vi.findViewById(R.id.jugador_local);
			tvAutogol = (TextView) vi.findViewById(R.id.autogol_local);
			if (Integer.valueOf(detalle.get(KEY_GOL_MINUTO)) == 500){
				tvMinuto.setText("Penal");
			} else {
				tvMinuto.setText(detalle.get(KEY_GOL_MINUTO) + "'");
			}
			tvJugador.setText(detalle.get(KEY_JUGADOR_NOMBRE));
			if (Integer.valueOf(detalle.get(KEY_GOL_AUTOGOL)) == 0) {
				tvAutogol.setText("");
			} else {
				tvAutogol.setText("Autogol");
			}

		} else {
			llLocal.setVisibility(View.INVISIBLE);
			llVisitante.setVisibility(View.VISIBLE);
			tvMinuto = (TextView) vi.findViewById(R.id.minuto_visitante);
			tvJugador = (TextView) vi.findViewById(R.id.jugador_visitante);
			tvAutogol = (TextView) vi.findViewById(R.id.autogol_visitante);
			if (Integer.valueOf(detalle.get(KEY_GOL_MINUTO)) == 500){
				tvMinuto.setText("Penal");
			} else {
				tvMinuto.setText(detalle.get(KEY_GOL_MINUTO) + "'");
			}
			tvJugador.setText(detalle.get(KEY_JUGADOR_NOMBRE));
			if (Integer.valueOf(detalle.get(KEY_GOL_AUTOGOL)) == 0) {
				tvAutogol.setText("");
			} else {
				tvAutogol.setText("Autogol");
			}
		}

		return vi;
	}
}
